Merge from CEDET upstream (8564).
authorDavid Engster <dengste@eml.cc>
Sun, 2 Jun 2013 13:33:09 +0000 (15:33 +0200)
committerDavid Engster <dengste@eml.cc>
Sun, 2 Jun 2013 13:33:09 +0000 (15:33 +0200)
commitf42411cad50facd62190243a29fb79e56e0f255b
tree21716f68efadc20a7f9ad35971ef3d15f42fb8dc
parent5650f87959c57afdee81ba545c613a2603cc58b7
Merge from CEDET upstream (8564).

* lisp/emacs-lisp:

* emacs-lisp/eieio.el (eieio--defalias, eieio-hook)
(eieio-error-unsupported-class-tags, eieio-skip-typecheck)
(eieio-optimize-primary-methods-flag, eieio-initializing-object)
(eieio-unbound, eieio-default-superclass)
(eieio--define-field-accessors, method-static, method-before)
(method-primary, method-after, method-num-lists)
(method-generic-before, method-generic-primary)
(method-generic-after, method-num-slots)
(eieio-specialized-key-to-generic-key)
(eieio--check-type, class-v, class-p)
(eieio-class-name, define-obsolete-function-alias)
(eieio-class-parents-fast, eieio-class-children-fast)
(same-class-fast-p, class-constructor, generic-p)
(generic-primary-only-p, generic-primary-only-one-p)
(class-option-assoc, class-option, eieio-object-p)
(class-abstract-p, class-method-invocation-order)
(eieio-defclass-autoload-map, eieio-defclass-autoload)
(eieio-class-un-autoload, eieio-defclass)
(eieio-eval-default-p, eieio-perform-slot-validation-for-default)
(eieio-add-new-slot, eieio-copy-parents-into-subclass)
(eieio--defgeneric-init-form, eieio-defgeneric-form)
(eieio-defgeneric-reset-generic-form)
(eieio-defgeneric-form-primary-only)
(eieio-defgeneric-reset-generic-form-primary-only)
(eieio-defgeneric-form-primary-only-one)
(eieio-defgeneric-reset-generic-form-primary-only-one)
(eieio-unbind-method-implementations)
(eieio--defmethod, eieio--typep)
(eieio-perform-slot-validation, eieio-validate-slot-value)
(eieio-validate-class-slot-value, eieio-barf-if-slot-unbound)
(eieio-oref, eieio-oref-default, eieio-default-eval-maybe)
(eieio-oset, eieio-oset-default, eieio-slot-originating-class-p)
(eieio-slot-name-index, eieio-class-slot-name-index)
(eieio-set-defaults, eieio-initarg-to-attribute)
(eieio-attribute-to-initarg, eieio-c3-candidate)
(eieio-c3-merge-lists, eieio-class-precedence-c3)
(eieio-class-precedence-dfs, eieio-class-precedence-bfs)
(eieio-class-precedence-list, eieio-generic-call-methodname)
(eieio-generic-call-arglst, eieio-generic-call-key)
(eieio-generic-call-next-method-list)
(eieio-pre-method-execution-functions, eieio-generic-call)
(eieio-generic-call-primary-only, eieiomt-method-list)
(eieiomt-optimizing-obarray, eieiomt-install)
(eieiomt-add, eieiomt-next, eieiomt-sym-optimize)
(eieio-generic-form, eieio-defmethod, make-obsolete)
(eieio-defgeneric, make-obsolete): Moved to eieio-core.el
(defclass): Remove `eval-and-compile' from macro.
(call-next-method, shared-initialize): Instead of using
`scoped-class' variable, use new eieio--scoped-class, and
eieio--with-scoped-class.
(initialize-instance): Rename local variable 'scoped-class' to
'this-class' to remove ambiguitity from old global.

* emacs-lisp/eieio-core.el: New file.  Derived from key parts of
eieio.el.
(eieio--scoped-class-stack): New variable
(eieio--scoped-class): New fcn
(eieio--with-scoped-class): New scoping macro.
(eieio-defclass): Use pushnew instead of add-to-list.
(eieio-defgeneric-form-primary-only-one, eieio-oset-default)
(eieio-slot-name-index, eieio-set-defaults, eieio-generic-call)
(eieio-generic-call-primary-only, eieiomt-add): Instead of using
`scoped-class' variable, use new eieio--scoped-class, and
eieio--with-scoped-class.

* emacs-lisp/eieio-base.el (cl-lib): Require during compile.

* admin/grammars:

* grammars/srecode-template.wy (variable): Accept a single number
as a variable value.  Allows the 'priority' to be set to a number.
(wisent-srecode-template-lexer): Move number up so it can be
created.

* etc/srecode:

* srecode/c.srt (header_guard): Add :c parameter so it works
standalone

* lisp/cedet:

* semantic/edit.el (semantic-change-function): Use
`save-match-data' around running hooks.

* semantic/decorate/mode.el
(semantic-decorate-style-predicate-default)
(semantic-decorate-style-highlighter-default): New.
(semantic-decoration-mode): Do not require
`semantic/decorate/include' anymore.
(semantic-toggle-decoration-style): Error if an unknown decoration
style is toggled.
(define-semantic-decoration-style): Add new :load option.  When
:load is specified, add autoload tokens for the definition
functions so that code is loaded when the mode is used.
(semantic-decoration-on-includes): New autoload definition for
highlighting includes.

* semantic/bovine/c.el (semantic-lex-c-ifdef): Allow some misc
characters to appear after the tested variable.

* semantic/ede-grammar.el (project-compile-target): Calculate full
src name via ede-expand-filename instead of the crutch of the
current buffer.  Enables this target to compile in batch mode.

* semantic/idle.el
(semantic-idle-symbol-maybe-highlight): Wrap highlighting of
remote symbol with `save-excursion'.
(semantic-idle-scheduler-work-parse-neighboring-files): Instead of
using directory-files on each found mode pattern, collect all the
patterns for the current mode, and then for each file, see if it
matches any of them.  If it does, parse the file.  (Patch
inspiration from Tomasz Gajewski.)

* semantic/ctxt.el (semantic-ctxt-end-of-symbol): New.
(semantic-ctxt-current-symbol-default): New.

* semantic/bovine/el.el (semantic-default-elisp-setup): Add
autoload cookie.  Explain existence.
(footer): Add local variable for loaddefs.

* semantic/db.el (semanticdb-file-table-object): Add new filter,
only checking for regular files too.

* semantic/wisent/python.el
(semantic-format-tag-abbreviate): New override.  Cuts back on size
of code tags.

* srecode/compile.el (srecode-compile-templates): Fix warning
punctuation.  Remove status messages to clean up testing output

* ede/base.el (ede-project-placeholder-cache-file): Update doc to
mention 'nil' value.
(ede-save-cache): Disable cache save if file is nil.

* ede.el (ede-initialize-state-current-buffer): Flush deleted
projects.
(global-ede-mode): Always append our find-file-hook to the end.
(ede-flush-deleted-projects): New command.

* ede/cpp-root.el (ede-preprocessor-map): Protect against init
problems.

* ede/proj.el (ede-proj-target): Added a new "custom" option for
custom symbols representing a compiler or linker instead of
restricting things to only the predefined compilers and linkers.

* semantic.el (semantic-mode-map): To avoid showing showing
Development menu twice, only disable menu item if menu-bar is
actually enabled, otherwise the popup 'global menu' might display
a disabled Development menu.

* semantic/complete.el
(semantic-displayor-show-request): Fix which slot in obj is set to
the max tags.
25 files changed:
admin/ChangeLog
admin/grammars/srecode-template.wy
etc/ChangeLog
etc/srecode/c.srt
lisp/ChangeLog
lisp/cedet/ChangeLog
lisp/cedet/ede.el
lisp/cedet/ede/base.el
lisp/cedet/ede/cpp-root.el
lisp/cedet/ede/proj.el
lisp/cedet/semantic.el
lisp/cedet/semantic/bovine/c.el
lisp/cedet/semantic/bovine/el.el
lisp/cedet/semantic/complete.el
lisp/cedet/semantic/ctxt.el
lisp/cedet/semantic/db.el
lisp/cedet/semantic/decorate/mode.el
lisp/cedet/semantic/ede-grammar.el
lisp/cedet/semantic/edit.el
lisp/cedet/semantic/idle.el
lisp/cedet/semantic/wisent/python.el
lisp/cedet/srecode/compile.el
lisp/emacs-lisp/eieio-base.el
lisp/emacs-lisp/eieio-core.el [new file with mode: 0644]
lisp/emacs-lisp/eieio.el